export type UserRole = "admin" | "teacher" | "student";

export interface User {
  id: string;
  name: string;
  role: UserRole;
  email: string;
  permissions: string[];
}

export interface Teacher {
  id: string;
  name: string;
  email: string;
  phone: string;
  department: string;
  title: string;
  status: "active" | "inactive";
  courses: string[];
  createTime: string;
}

export interface Student {
  id: string;
  name: string;
  email: string;
  phone: string;
  class: string;
  major: string;
  status: "active" | "inactive";
  courses: string[];
  createTime: string;
}

export interface Course {
  id: string;
  name: string;
  code: string;
  description: string;
  teacher: {
    id: string;
    name: string;
  };
  schedule: string;
  location: string;
  capacity: number;
  enrolled: number;
  status: "active" | "inactive";
  createTime: string;
}

export interface Activity {
  id: string;
  type: "course" | "exam" | "discussion" | "system";
  title: string;
  content: string;
  createTime: string;
  user?: {
    id: string;
    name: string;
    role: UserRole;
  };
}

export interface Announcement {
  id: string;
  title: string;
  content: string;
  createTime: string;
  priority: "high" | "medium" | "low";
  status: "active" | "inactive";
}
